package com.sojson.util;

import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.sojson.entity.po.Config;
import com.sojson.service.ConfigService;

/**
 * 系统参数工具类
 * 
 * @author liu
 * @date 2021-03-17
 */
public class SystemParamUtil extends SystemParamBaseUtil {

    /** 系统参数集合在缓存中的名字 */
    public static final String MAP_KEY = "SYSTEM_PARAM_MAP";

    /**
     * 加载系统参数
     * 
     * @param key
     * @throws IOException 
     */
    public static void load() throws IOException {
        ConfigService configService = SpringUtil.getBeanByType(ConfigService.class);
        put(configService.findAll());
    }

    /**
     * 设置系统参数
     * 
     * @param val
     * @throws IOException 
     */
    public static void put(Config val) throws IOException {
        put(val.getConAlias(), val.getVal());
    }

    /**
     * 设置系统参数
     * 
     * @param vals
     * @throws IOException 
     */
    public static void put(List<Config> vals) throws IOException {
        Map<String, String> hashMap = new HashMap<>();
        for (Config val : vals) {
            hashMap.put(val.getConAlias(), val.getVal());
        }

        put(hashMap);
    }

}